1. Field of the Invention
The present invention relates to integrated circuit power management. In particular, the present invention relates to a flexible power management circuit that, based on executing a script file, controls and sequences the various power supply circuits in a system.
2. Discussion of the Related Art
A typical electronic system includes many components which require different power supply voltages for proper operations. Some common required voltages are 5.0V, 3.3V, 2.5V, 1.8V, 1.2V and 1V. For example, a system-on-a-chip (SOC) integrated circuit (IC) may require a low voltage for a digital core, a higher voltage for input/output (I/O) operations, another voltage for analog circuitry (e.g., phase-locked loops (PLL), analog-digital-converter (ADC), yet another voltage for one or more memory interfaces, and an always-on voltage to keep system state during a power-saving or sleep mode. In addition, a typical system also includes, in addition to the SOC, additional peripheral devices or controllers each having specific power requirements. To bring up such a system, proper sequencing of the various power supplies is required.
One possible solution is to incorporate into the SOC a software programmable capability to manage the system's power supply requirements. However, the SOC itself is typically a complicated integrated circuit requiring multiple power supply voltages, with specific sequencing requirements. Therefore, one solution in the prior art is to provide a simple processor (i.e., one requiring only a single power supply) to first bring up the SOC, which then allows the SOC bring up the peripheral devices or controllers. A reverse sequence takes place when the system is shut down.
FIG. 1 shows an exemplary system 100 of such a solution. As shown in FIG. 1, system 100 includes single-supply microprocessor 101, power management IC 102, SOC 103, memory devices 104, and a number of memory-mapped peripherals 105 (e.g., removable memory card reader 105a, global positioning system (GPS) device 105b, FM radio receiver 105c, liquid crystal display (LCD) 105d and GPRS radio communication system 105e). Power management IC generates the various regulated power supply voltages required by system 100. In system 100, after single-supply microprocessor 101 boots up, single-power supply microprocessor 101 interacts with (indicated by arrow 121) power management IC 102 to provide the power-up sequence 123 of SOC 103. In some instances, single-supply microprocessor 101 may download power management information regarding memory devices 104 and peripheral devices and controllers 105 into SOC 103. In other instances, SOC 103 may discover memory devices and peripheral device and controllers 105, may use its own pre-programmed power management information. Thereafter, SOC 103 interacts with (indicated by arrow 122) power management IC 102 to provide the power-up sequences 124 for memory devices 104 and memory-mapped peripherals 105.
A system, such as system 100, has a number of disadvantages. First, a system designer typically develops a family of related systems that are made up of different combinations of SOCs, memory and other peripheral devices, each having different specific power sequencing requirements. Thus, even though the systems are related, a different set of power-up and power-down sequences need to be developed for each system. Development of a set of power-up and power-down sequences typically takes place using an in-circuit emulation (ICE) system. The designer usually writes code for single-supply microprocessor 101 using a high-level programming language (e.g., the “C” programming language), which is compiled into executable code. In such a system, system development and system changes require the specialized skills of a software engineer, using debugging tools provided on the ICE system. Experience has demonstrated that in the life of a product, many minor changes are often needed. For example, a minor change on the printed circuit board (PCB) may require adding an additional millisecond delay in a power-up sequence for a regulated power supply. Even such a simple change requires the software engineer to modify and recompile the software on the ICE system. However, in many applications, power management problems are diagnosed in the field by field application engineers who often have neither access to such an ICE system nor the requisite skills to perform the sophisticated software tasks.